package com.gitee.qdbp.general.common.api.settings.service;

import java.util.List;
import com.gitee.qdbp.able.beans.KeyString;
import com.gitee.qdbp.able.exception.ServiceException;
import com.gitee.qdbp.able.jdbc.ordering.OrderPaging;
import com.gitee.qdbp.able.jdbc.paging.PageList;
import com.gitee.qdbp.general.common.api.settings.model.AreaBean;
import com.gitee.qdbp.general.common.api.settings.model.AreaDivisionBean;
import com.gitee.qdbp.general.common.api.settings.model.AreaDivisionWhere;

/**
 * 行政区划业务接口
 *
 * @author zhh
 * @version 170702
 */
public interface IAreaDivisionQueryer {

    /** 查询指定行政区划(使用缓存) **/
    AreaBean findByCode(String scene, String areaCode) throws ServiceException;

    /** 查询全部(使用缓存) **/
    List<AreaBean> listAll(String scene) throws ServiceException;

    /** 查询行政区划全称(使用缓存) **/
    String findAreaText(String scene, String areaCode) throws ServiceException;

    /** 查询行政区划全称(使用缓存) **/
    List<KeyString> listAreaText(String scene, List<String> areaCodes) throws ServiceException;

    AreaDivisionBean find(AreaDivisionWhere where) throws ServiceException;

    PageList<AreaDivisionBean> list(AreaDivisionWhere where, OrderPaging paging) throws ServiceException;

}
